﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL;
using Public;

namespace QLNhanKhau
{
    public partial class UCChuyenDi : UserControl
    {
        public UCChuyenDi()
        {
            InitializeComponent();
        }
        private void btnThoat_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Thoát không lưu", "Thoát", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
        }

        private void btnTimSHKCu_Click(object sender, EventArgs e)
        {
            if (txtSoSHK.Text == "")
            {
                MessageBox.Show("Nhập số sổ hộ khẩu cần tìm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            int SoSHK = int.Parse(txtSoSHK.Text);
            SoHoKhauPublic shk = SoHoKhauBLL.LoadSoHoKhauBySoSHK(SoSHK);
            if (shk == null)
            {
                txtDuong.Text = txtAp.Text = txtSoNha.Text = txtChuHo.Text = "";
                dgvNhanKhau.DataSource = null;
                groupBox1.Enabled = false;
                //groupBox2.Enabled = false;
                MessageBox.Show("Không tìm thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                _MaSHKCu = shk.MaSHK;
                List<NhanKhauPublic> list_nk = NhanKhauBLL.LoadNhanKhauByMaSHK(shk.MaSHK);
                txtDuong.Text = shk.Duong;
                txtAp.Text = shk.KhuPho.ToString();
                txtSoNha.Text = shk.SoNha;

                groupBox1.Enabled = true;
                groupBox2.Enabled = true;
                txtChuHo.Text = list_nk.Find(item => item.MaQH == 1).HoTen;
                //txtChuHo.Text = list_nk.Where(item => item.QuanHe == "Chủ hộ").FirstOrDefault().HoTen;

                dgvNhanKhau.DataSource = list_nk;
                dgvNhanKhau.ClearSelection();
                //dgvNhanKhau.Columns[0].HeaderText = "Mã nhân khẩu";
                dgvNhanKhau.Columns[1].HeaderText = "Họ và tên";
                //dgvNhanKhau.Columns[3].HeaderText = "Tên gọi khác";
                dgvNhanKhau.Columns[4].HeaderText = "CMND";
                dgvNhanKhau.Columns[5].HeaderText = "Ngày sinh";
                //dgvNhanKhau.Columns[6].HeaderText = "Nơi sinh";
                dgvNhanKhau.Columns[7].HeaderText = "Giới tính";
                dgvNhanKhau.Columns[8].HeaderText = "Quê quán";
                dgvNhanKhau.Columns[9].HeaderText = "Dân tộc";
                dgvNhanKhau.Columns[10].HeaderText = "Nghề nghiệp";
                dgvNhanKhau.Columns[11].HeaderText = "Quốc tịch";
                //dgvNhanKhau.Columns[12].HeaderText = "Chứng tử";
                dgvNhanKhau.Columns[13].HeaderText = "Tôn giáo";
                dgvNhanKhau.Columns[14].HeaderText = "Trình độ";
                //dgvNhanKhau.Columns[15].HeaderText = "Sổ hộ khẩu";
                dgvNhanKhau.Columns[16].HeaderText = "Quan hệ";
                dgvNhanKhau.Columns[0].Visible = false;
                //dgvNhanKhau.Columns[1].Visible = false;
                dgvNhanKhau.Columns[2].Visible = false;
                dgvNhanKhau.Columns[3].Visible = false;
                //dgvNhanKhau.Columns[4].Visible = false;
                //dgvNhanKhau.Columns[5].Visible = false;
                dgvNhanKhau.Columns[6].Visible = false;
                //dgvNhanKhau.Columns[7].Visible = false;
                //dgvNhanKhau.Columns[8].Visible = false;
                dgvNhanKhau.Columns[9].Visible = false;
                //dgvNhanKhau.Columns[10].Visible = false;
                dgvNhanKhau.Columns[11].Visible = false;
                dgvNhanKhau.Columns[12].Visible = false;
                dgvNhanKhau.Columns[13].Visible = false;
                dgvNhanKhau.Columns[14].Visible = false;
                dgvNhanKhau.Columns[15].Visible = false;
                //dgvNhanKhau.Columns[16].Visible = false;
            }
            DataGridViewCellStyle style = new DataGridViewCellStyle();
            style.ForeColor = Color.AliceBlue;
            style.BackColor = Color.Red;
            for (int i = dgvNhanKhau.RowCount - 1; i >= 0; i--)
            {
                if ((byte)dgvNhanKhau.Rows[i].Cells[21].Value != 0)
                {
                    //MessageBox.Show("geg");
                    dgvNhanKhau.Rows[i].DefaultCellStyle = style;
                }
                //if ((bool)dgvNguoiDung.Rows[i].Cells[5].Value==true)
                //{
                //  dgvNguoiDung.Rows[i].DefaultCellStyle = style;
                //}
            }
            
        }

        private void btnTimSHKMoi_Click(object sender, EventArgs e)
        {
            if (txtSoSHKMoi.Text == "")
            {
                MessageBox.Show("Nhập số sổ hộ khẩu cần tìm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            int SoSHK = int.Parse(txtSoSHKMoi.Text);
            SoHoKhauPublic shk = SoHoKhauBLL.LoadSoHoKhauBySoSHK(SoSHK);
            if (shk == null)
            {
                txtDuongMoi.Text = txtApMoi.Text = txtSoNhaMoi.Text = txtChuHoMoi.Text = "";
                dgvNhanKhauMoi.DataSource = null;
                //groupBox1.Enabled = false;
                groupBox2.Enabled = false;
                MessageBox.Show("Không tìm thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                _MaSHKMoi = shk.MaSHK;
                List<NhanKhauPublic> list_nk = NhanKhauBLL.LoadNhanKhauByMaSHK(shk.MaSHK);
                txtDuongMoi.Text = shk.Duong;
                txtApMoi.Text = shk.KhuPho.ToString();
                txtSoNhaMoi.Text = shk.SoNha;

                groupBox1.Enabled = true;
                groupBox2.Enabled = true;
                txtChuHoMoi.Text = list_nk.Find(item => item.MaQH == 1).HoTen;
                //txtChuHo.Text = list_nk.Where(item => item.QuanHe == "Chủ hộ").FirstOrDefault().HoTen;

                dgvNhanKhauMoi.DataSource = list_nk;
                dgvNhanKhauMoi.ClearSelection();
                //dgvNhanKhauMoi.Columns[0].HeaderText = "Mã nhân khẩu";
                dgvNhanKhauMoi.Columns[1].HeaderText = "Họ và tên";
                //dgvNhanKhauMoi.Columns[3].HeaderText = "Tên gọi khác";
                dgvNhanKhauMoi.Columns[4].HeaderText = "CMND";
                dgvNhanKhauMoi.Columns[5].HeaderText = "Ngày sinh";
                //dgvNhanKhauMoi.Columns[6].HeaderText = "Nơi sinh";
                dgvNhanKhauMoi.Columns[7].HeaderText = "Giới tính";
                dgvNhanKhauMoi.Columns[8].HeaderText = "Quê quán";
                dgvNhanKhauMoi.Columns[9].HeaderText = "Dân tộc";
                dgvNhanKhauMoi.Columns[10].HeaderText = "Nghề nghiệp";
                dgvNhanKhauMoi.Columns[11].HeaderText = "Quốc tịch";
                //dgvNhanKhauMoi.Columns[12].HeaderText = "Chứng tử";
                dgvNhanKhauMoi.Columns[13].HeaderText = "Tôn giáo";
                dgvNhanKhauMoi.Columns[14].HeaderText = "Trình độ";
                //dgvNhanKhauMoi.Columns[15].HeaderText = "Sổ hộ khẩu";
                dgvNhanKhauMoi.Columns[16].HeaderText = "Quan hệ";
                dgvNhanKhauMoi.Columns[0].Visible = false;
                //dgvNhanKhauMoi.Columns[1].Visible = false;
                dgvNhanKhauMoi.Columns[2].Visible = false;
                dgvNhanKhauMoi.Columns[3].Visible = false;
                //dgvNhanKhauMoi.Columns[4].Visible = false;
                //dgvNhanKhauMoi.Columns[5].Visible = false;
                dgvNhanKhauMoi.Columns[6].Visible = false;
                //dgvNhanKhauMoi.Columns[7].Visible = false;
                //dgvNhanKhauMoi.Columns[8].Visible = false;
                dgvNhanKhauMoi.Columns[9].Visible = false;
                //dgvNhanKhauMoi.Columns[10].Visible = false;
                dgvNhanKhauMoi.Columns[11].Visible = false;
                dgvNhanKhauMoi.Columns[12].Visible = false;
                dgvNhanKhauMoi.Columns[13].Visible = false;
                dgvNhanKhauMoi.Columns[14].Visible = false;
                dgvNhanKhauMoi.Columns[15].Visible = false;
                //dgvNhanKhauMoi.Columns[16].Visible = false; 
                dgvNhanKhauMoi.Columns[17].Visible = false;
                dgvNhanKhauMoi.Columns[18].Visible = false;
                dgvNhanKhauMoi.Columns[19].Visible = false;
                dgvNhanKhauMoi.Columns[20].Visible = false;
                //dgvNhanKhauMoi.Columns[21].Visible = false; 
                DataGridViewCellStyle style = new DataGridViewCellStyle();
                style.ForeColor = Color.AliceBlue;
                style.BackColor = Color.Red;
                for (int i = dgvNhanKhauMoi.RowCount - 1; i >= 0; i--)
                {
                    if ((byte)dgvNhanKhauMoi.Rows[i].Cells[21].Value != 0)
                    {
                        //MessageBox.Show("geg");
                        dgvNhanKhauMoi.Rows[i].DefaultCellStyle = style;
                    }
                    //if ((bool)dgvNguoiDung.Rows[i].Cells[5].Value==true)
                    //{
                    //  dgvNguoiDung.Rows[i].DefaultCellStyle = style;
                    //}

                }
                if (shk.NgayXoa != null)
                {
                    btnChuyenDi.Enabled = false;
                    labThongBao.Text = "Không thể chuyển, xem lại sổ hộ khẩu!";
                }
                else
                {
                    btnChuyenDi.Enabled = true;
                    labThongBao.Text = "";
                }
            }
        }

        

        private void txtSoSHK_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) || txtSoSHK.Text.Length > 7 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
            if (e.KeyChar == 13)
                btnTimSHKCu_Click(sender, e);
        }

        private void txtSoSHKMoi_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) || txtSoSHKMoi.Text.Length > 7 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
            if (e.KeyChar == 13)
                btnTimSHKMoi_Click(sender, e);
        }

        private int _MaNKChuyen;

        public int MaNKChuyen
        {
            get { return _MaNKChuyen; }
            set { _MaNKChuyen = value; }
        }

        private int _MaSHKMoi;

        public int MaSHKMoi
        {
            get { return _MaSHKMoi; }
            set { _MaSHKMoi = value; }
        }
        private int _MaSHKCu;

        public int MaSHKCu
        {
            get { return _MaSHKCu; }
            set { _MaSHKCu = value; }
        }

        private void dgvNhanKhau_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvNhanKhau.SelectedRows.Count > 0)
            {
                btnChuyenDi.Enabled = true;
                _MaNKChuyen = (int)dgvNhanKhau.SelectedRows[0].Cells[0].Value;
            }
            else
                btnChuyenDi.Enabled = false;
        }

        private void btnChuyenDi_Click(object sender, EventArgs e)
        {
            //MessageBox.Show(_MaNKChuyen.ToString());
            if (txtChuHo.Text== "")
            {
                MessageBox.Show("Vui lòng Tìm số sổ hộ khẩu nơi chuyển", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (txtChuHoMoi.Text=="")
            {
                MessageBox.Show("Vui lòng Tìm số sổ hộ khẩu nơi đến", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (NhanKhauBLL.LoadNhanKhauByMaNK(MaNKChuyen).MaQH == 1)
            {
                MessageBox.Show("Không thể chuyển chủ hộ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            frmQuanHe qh = new frmQuanHe(_MaNKChuyen, _MaSHKMoi,_MaSHKCu);
            qh.ShowDialog();
            if (qh.IsDisposed == false && qh.Success == 1)
            {
                UCChuyenDi_Load(sender, e);
                btnTimSHKCu_Click(sender, e);
                btnTimSHKMoi_Click(sender, e);
                //dgvNhanKhauMoi.DataSource = NhanKhauBLL.LoadNhanKhauByMaSHK(_MaSHKMoi);
                //dgvNhanKhau.DataSource = NhanKhauBLL.LoadNhanKhauByMaSHK(_MaSHKCu);
            }
        }

        private void UCChuyenDi_Load(object sender, EventArgs e)
        {

        }

       
    }
}
